// pages/test/test.js
// 引入插件安装器
import plugin from '../../component/v2/plugins/index'
// 引入所需插件
import todo from '../../component/v2/plugins/todo'

import {setTodos} from '../../component/v2/plugins/todo'
// import {setTodoLabels} from "../../component/template/calendar";

// 按需安装插件，支持链式调用
plugin.use(todo)

Page({

    /**
     * 页面的初始数据
     */
    data: {
        calendarConfig: {
            multi: false, // 是否开启多选,
            weekMode: true, // 周视图模式
            theme: 'default', // 日历主题，目前共两款可选择，默认 default 及 elegant，自定义主题色在参考 /theme 文件夹
            showLunar: false, // 是否显示农历，此配置会导致 setTodoLabels 中 showLabelAlways 配置失效
            inverse: true, // 单选模式下是否支持取消选中,
            markToday: '今', // 当天日期展示不使用默认数字，用特殊文字标记
            hideHeader: false, // 隐藏日历头部操作栏
            takeoverTap: true, // 是否完全接管日期点击事件（日期不会选中)
            emphasisWeek: true, // 是否高亮显示周末日期
            chooseAreaMode: false, // 开启日期范围选择模式，该模式下只可选择时间段
            showHolidays: true, // 显示法定节假日班/休情况，需引入holidays插件
            showFestival: true, // 显示节日信息（如教师节等），需引入holidays插件
            highlightToday: true, // 是否高亮显示当天，区别于选中样式（初始化时当天高亮并不代表已选中当天）
            // defaultDate: '2018-3-6', // 默认选中指定某天，如需选中需配置 autoChoosedWhenJump: true
            preventSwipe: true, // 是否禁用日历滑动切换月份
            firstDayOfWeek: 'Mon', // 每周第一天为周一还是周日，默认按周日开始
            onlyShowCurrentMonth: true, // 日历面板是否只显示本月日期
            autoChoosedWhenJump: true, // 设置默认日期及跳转到指定日期后是否需要自动选中
            // disableMode: {
            //     // 禁用某一天之前/之后的所有日期
            //     type: 'after', // [‘before’, 'after']
            //     date: '2020-3-24' // 无该属性或该属性值为假，则默认为当天
            // },
            // ... // 更多配置待接入
        },
    },

    /**
     * 日历初次渲染完成后触发事件，如设置事件标记
     */
    afterCalendarRender(e) {
        console.log('afterCalendarRender', e)
    },
    /**
     * 日期点击事件（此事件会完全接管点击事件），需自定义配置 takeoverTap 值为真才能生效
     * currentSelect 当前点击的日期
     */
    takeoverTap(e) {
        console.log('takeoverTap', e.detail) // => { year: 2019, month: 12, date: 3, ...}
    },
    /**
     * 选择日期后执行的事件
     */
    afterTapDate(e) {
        console.log('afterTapDate', e.detail) // => { year: 2019, month: 12, date: 3, ...}
    },
    /**
     * 当日历滑动时触发
     */
    onSwipe(e) {
        console.log('onSwipe', e.detail)
    },
    /**
     * 当日历滑动时触发(适用于周视图)
     * 可在滑动时按需在该方法内获取当前日历的一些数据
     */
    whenChangeWeek(e) {
        console.log('whenChangeWeek', e.detail)
    },
    /**
     * 当改变月份时触发
     * => current 当前年月 / next 切换后的年月
     */
    whenChangeMonth(e) {
        console.log('whenChangeMonth', e.detail)
        // => { current: { month: 3, ... }, next: { month: 4, ... }}
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        // let res = this.selectComponent('#calendar');
        // // 获取日历组件上的 calendar 对象
        // console.log(res)
        // console.log(res.calendar);
        // console.log(res.data.calendar);

        // const calendar = this.selectComponent('#calendar').calendar
        // // 调用 calendar 对象上的方法
        // calendar.jump({year:2018, month:6, date:6});


        this.setTodos({
            // 待办点标记设置
            pos: 'bottom', // 待办点标记位置 ['top', 'bottom']
            dotColor: 'purple', // 待办点标记颜色
            circle: true, // 待办圆圈标记设置（如圆圈标记已签到日期），该设置与点标记设置互斥
            showLabelAlways: true, // 点击时是否显示待办事项（圆点/文字），在 circle 为 true 及当日历配置 showLunar 为 true 时，此配置失效
            dates: [
                {
                    year: 2022,
                    month: 2,
                    date: 27,
                    todoText: '待办',
                    color: '#f40' // 单独定义协助颜色 (标记点、文字)
                },
                {
                    year: 2022,
                    month: 2,
                    date: 28
                }
            ]
        })
        // setTodoLabels({
        //     pos: 'bottom',
        //     dotColor: '#40',
        //     days: [{
        //         year: 2022,
        //         month: 2,
        //         day: 26,
        //     }, {
        //         year: 2022,
        //         month: 2,
        //         day: 27,
        //         todoText: '背单词',
        //         color: '#f40' // 单独定义协助颜色 (标记点、文字)
        //     }],
        // });
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})
